home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 2 / Apprentice-Release2.iso / Source Code / Ken Long / About Ken Long next >
Encoding:
Text File  |  1994-12-04  |  6.6 KB  |  150 lines  |  [TEXT/R*ch]

  1. I'm 46 and have worked in the construction trades for 30 years.  I
  2. got my first computer in 1988 - a Televideo TS-803, CP/M machine. 
  3. I was interested in programming then, but the TS-803 was an antique
  4. and I couldn't get much for it or use it much.  My main use was an
  5. adventure game that came with it.  For a $150 machine, it was okay.
  6.  
  7. I then demanded a computer I could USE and print from, and sought
  8. one.  I bought a Mac 512 for $400, with an ImageWriter, neither of
  9. which had manuals.  I learned the Mac through trial and error and
  10. what little info I could from a few places.
  11.  
  12. In an effort to get it to run "modern" stuff, I bumped it up to a
  13. 512E and got a Dove 1MB board for it.  There was a place within
  14. driving distance which sold disks with PD and Shareware.  If I was
  15. curious about some aspect of the Mac, I'd get a disk with stuff on
  16. that subject.  ResEdit 1.2 became one of my favorite programs.
  17.  
  18. I didn't know of the existence of "Inside Macintosh."
  19.  
  20. -----
  21.  
  22. Working as a carpenter, I do the programming stuff for "fun and
  23. profit."  I got into Mac programming for fun and profit.  So far,
  24. it's been a lot of FUN!
  25.  
  26. When I first started at programming I soon discovered there was no
  27. laid out path going from Mac user to Mac programmer.  Nothing "all
  28. under one roof" which taught skills to non programmers in the
  29. sequence, and in the detail, I wanted to learn.  Without being able
  30. to take a course, the ONLY avenue of approach available to me was
  31. the "self-taught" route.  But this can pay off as seen by such
  32. competent programmers as Jay Riley, Joe Zobkiw, Mark Hanrek and
  33. some others, who went the self-taught route.
  34.  
  35. I also discovered that part of the process of learning to program was in 
  36. *learning HOW TO LEARN* it!
  37.  
  38. It can be done, but it's not easy.  The materials available for the
  39. *self-taught* approach are: 
  40.  
  41. (1) Reading books. 
  42.  
  43. (2) Asking questions in programmer message forums. 
  44.  
  45. (3) Studying example source code projects. 
  46.  
  47. (4) Trial and error in conjunction with the above.
  48.  
  49. Of all, 3 and 4 are the least expensive, easiest to get, and
  50. produce the fastest results - if not the best results.
  51.  
  52. I decided I'd go with the C language because of several reasons -
  53. none of which probably had any basis in anything but PR.  MacWrite
  54. II was supposedly written in it, I had a bad experience with Turbo
  55. Pascal on an earlier attempt to get into programming, C's popular.
  56.  
  57. I bought "Learn C on the Macintosh" by Dave Mark, but all it did
  58. was leave me with questions and a stronger desire to get a real C
  59. programming environment - namely THINK C.
  60.  
  61. One basic thing I learned was:  "Running example code SHOWS HOW to
  62. program."  Even if the running example is "all Greek" - it still is
  63. an example of a running program.  The trick is, to understand WHAT
  64. it does and why it does it.  And understand all the ingredients and
  65. why THOSE are *the* ingredients.
  66.  
  67. So, I decided to get more than what came with THINK C and run it in
  68. the debugger, compare what I saw to what Inside Macintosh said and
  69. see if I could get an idea of what it was all about.
  70.  
  71. I only had America Online, so I began downloading C source and then
  72. running it.  One of the early things I noticed was that not all the
  73. source code projects I downloaded ran as received.  That bothered
  74. me.  Waste all that time and money downloading something and it
  75. does not run!
  76.  
  77. This got me to comparing parts of the unrunning programs with parts
  78. of running programs, to see if I could spot what it was that was
  79. different between them.  Maybe I could find the error and correct
  80. it and get it to run?
  81.  
  82. This worked!  I not only was able to get some unrunning programs to
  83. run, but in doing so I learned more about programming and the
  84. ToolBox!
  85.  
  86. Messing with so many downloaded sources, I began to "think" C, and
  87. could recall where and in what project certain routines were that
  88. did certain things.  I also got the general layout of a Mac program
  89. and many Toolbox calls, etc.
  90.  
  91. Experimentation by changing values and seeing what the changes did
  92. also helped me learn.
  93.  
  94. When I downloaded SearchFiles 1.3, I immediately saw it as a great
  95. tool for finding things in running code that would help me figure
  96. out how to fix unrunning code.  Consequently, I could get instant
  97. answers to questions *if* I had enough source code, without having
  98. to wait for answers in programming conferences (or not even get
  99. any).
  100.  
  101. Of course, I bought lots of books on the subject.  These helped to
  102. fill in the gaps and evaluate importances, and simplify lots of 
  103. things.
  104.  
  105. The thing about getting unrunning programs to run and
  106. redistributing them, aside from a learning process, is also to help
  107. other novice Mac C programmers have an easier time than I had in
  108. learning.  If I download a program that doesn't run, it wastes my
  109. time, and makes me a little angry.  So, if I get it running and
  110. repost it, others can download it and not have it be a waste of
  111. their time, and they can USE it.
  112.  
  113. If I learn something while reviving a program, I'll comment on it
  114. and other novices won't have to "grope" for the info, or chance
  115. upon it.
  116.  
  117. Since becoming a "source code junkie" I've tried getting source any
  118. way I could think of.  Downloading, asking authors, buying it from
  119. authors, porting from other languages, etc.
  120.  
  121. The porting from Pascal (or other languages) is the ultimate "get
  122. it running" challenge, compared to simply reviving a C project.  It
  123. REALLY *forces* learning.  I've only been successful at it on rare
  124. and simple occasions.  I can always get a partial run out of such a
  125. conversion - rarely a total, equivalent run.
  126.  
  127. So, to augment and offset that problem, I got a Pascal compiler,
  128. then another came with Code Warrior.  Now I not only don't "need"
  129. to port the Pascal source to C to "get running source code" but I
  130. have a whole new range of source to gather and learn from.  Besides
  131. learning some Pascal in C port attempts, I discovered some of the
  132. Pascal source is unrunning as downloaded.  So the revival projects
  133. are carried over into that, as well.
  134.  
  135. To make a Long story longer, a collection of running source code IS
  136. a reference library on HOW TO.  With SearchFiles 1.3, you can have
  137. INSTANT answers to programming questions, running it on the folder
  138. containing the source.
  139.  
  140. I do know enough about programming to "write my own stuff"  - I
  141. just haven't done so, to amount to anything, yet.  I really do LIKE
  142. "Copy/Paste/Modify" programming and "Monkey See - Monkey Do"
  143. programming, though.  I haven't thought of a program I'd like to 
  144. write that would be worth writing, which hasn't been done, which is
  145. within the range of my skill in the art of programming.  So, until
  146. then the profits will have to wait and I'll keep having fun!  And
  147. see if I can help the next guy have an easier time of it.
  148.  
  149. -Ken-
  150.